<?php
// ------------------------------------------------------------------------
// |@Author       : Jarmin <edshop@qq.com>
// |@----------------------------------------------------------------------
// |@Date         : 2023-06-25 20:27:00
// |@----------------------------------------------------------------------
// |@LastEditTime : 2023-12-03 17:30:22
// |@----------------------------------------------------------------------
// |@LastEditors  : Jarmin <jarmin@ladmin.cn>
// |@----------------------------------------------------------------------
// |@Description  : 
// |@----------------------------------------------------------------------
// |@FilePath     : Folder.php
// |@----------------------------------------------------------------------
// |@Copyright (c) 2023 http://www.ladmin.cn   All rights reserved. 
// ------------------------------------------------------------------------
namespace app\setting\controller;

use think\admin\extend\DataExtend;
use think\admin\Controller;

/**
 * 文件分类管理类,用于实现文件分类相关控制器操作
 */
class Folder extends Controller
{
    /**
     * 获取文件分类列表
     * @return void
     */
    public function list()
    {
        $result = $this->logicFolder->getList();
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success(DataExtend::arr2tree($result['data']), $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }

    /**
     * 添加文件分类
     * @validate true
     * @sing true
     * @return mixed 返回成功或失败的提示信息以及添加后的文件分类
     */
    public function add()
    {
        $result = $this->logicFolder->saveFolder($this->app->request->post());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }

    /**
     * 编辑文件分类
     * @validate true
     * @sing true
     * @return mixed 返回成功或失败的提示信息以及修改后的文件分类
     */
    public function edit()
    {
        $result = $this->logicFolder->saveFolder($this->app->request->post());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }

    /**
     * 修改文件分类
     * @validate true
     * @sing true
     * @return mixed 返回成功或失败的提示信息以及修改后的文件分类
     */
    public function move()
    {
        $result = $this->logicFolder->moveFolder($this->app->request->post());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }
    /**
     * 删除指定的文件分类
     * @validate true
     * @sing true
     * @return mixed 返回成功或失败的提示信息以及删除的文件分类
    */
    public function delete()
    {
        $result = $this->logicFolder->deleteFolder($this->app->request->delete());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }
}